# Generated by h2py from \mssdk\include\shlobj.h and shellapi.h
WM_USER = 1024
DROPEFFECT_NONE = 0
DROPEFFECT_COPY = 1
DROPEFFECT_MOVE = 2
DROPEFFECT_LINK = 4
DROPEFFECT_SCROLL = -2147483648

FO_MOVE = 1
FO_COPY = 2
FO_DELETE = 3
FO_RENAME = 4
FOF_MULTIDESTFILES = 1
FOF_CONFIRMMOUSE = 2
FOF_SILENT = 4
FOF_RENAMEONCOLLISION = 8
FOF_NOCONFIRMATION = 16
FOF_WANTMAPPINGHANDLE = 32
FOF_ALLOWUNDO = 64
FOF_FILESONLY = 128
FOF_SIMPLEPROGRESS = 256
FOF_NOCONFIRMMKDIR = 512
FOF_NOERRORUI = 1024
FOF_NOCOPYSECURITYATTRIBS = 2048
PO_DELETE = 19
PO_RENAME = 20
PO_PORTCHANGE = 32
PO_REN_PORT = 52
SE_ERR_FNF = 2
SE_ERR_PNF = 3
SE_ERR_ACCESSDENIED = 5
SE_ERR_OOM = 8
SE_ERR_DLLNOTFOUND = 32
SE_ERR_SHARE = 26
SE_ERR_ASSOCINCOMPLETE = 27
SE_ERR_DDETIMEOUT = 28
SE_ERR_DDEFAIL = 29
SE_ERR_DDEBUSY = 30
SE_ERR_NOASSOC = 31
SEE_MASK_CLASSNAME = 1
SEE_MASK_CLASSKEY = 3
SEE_MASK_IDLIST = 4
SEE_MASK_INVOKEIDLIST = 12
SEE_MASK_ICON = 16
SEE_MASK_HOTKEY = 32
SEE_MASK_NOCLOSEPROCESS = 64
SEE_MASK_CONNECTNETDRV = 128
SEE_MASK_FLAG_DDEWAIT = 256
SEE_MASK_DOENVSUBST = 512
SEE_MASK_FLAG_NO_UI = 1024
SEE_MASK_UNICODE = 16384
SEE_MASK_NO_CONSOLE = 32768
SEE_MASK_ASYNCOK = 1048576
SEE_MASK_HMONITOR = 2097152
SEE_MASK_CLASSNAME = 1
SEE_MASK_CLASSKEY = 3
SEE_MASK_IDLIST = 4
SEE_MASK_INVOKEIDLIST = 12
SEE_MASK_ICON = 16
SEE_MASK_HOTKEY = 32
SEE_MASK_NOCLOSEPROCESS = 64
SEE_MASK_CONNECTNETDRV = 128
SEE_MASK_FLAG_DDEWAIT = 256
SEE_MASK_DOENVSUBST = 512
SEE_MASK_FLAG_NO_UI = 1024
SEE_MASK_UNICODE = 16384
SEE_MASK_NO_CONSOLE = 32768
SEE_MASK_ASYNCOK = 1048576
SEE_MASK_HMONITOR = 2097152
SHERB_NOCONFIRMATION = 1
SHERB_NOPROGRESSUI = 2
SHERB_NOSOUND = 4
NIM_ADD = 0
NIM_MODIFY = 1
NIM_DELETE = 2
NIF_MESSAGE = 1
NIF_ICON = 2
NIF_TIP = 4
SHGFI_ICON = 256
SHGFI_DISPLAYNAME = 512
SHGFI_TYPENAME = 1024
SHGFI_ATTRIBUTES = 2048
SHGFI_ICONLOCATION = 4096
SHGFI_EXETYPE = 8192
SHGFI_SYSICONINDEX = 16384
SHGFI_LINKOVERLAY = 32768
SHGFI_SELECTED = 65536
SHGFI_ATTR_SPECIFIED = 131072
SHGFI_LARGEICON = 0
SHGFI_SMALLICON = 1
SHGFI_OPENICON = 2
SHGFI_SHELLICONSIZE = 4
SHGFI_PIDL = 8
SHGFI_USEFILEATTRIBUTES = 16
SHGNLI_PIDL = 1
SHGNLI_PREFIXNAME = 2
SHGNLI_NOUNIQUE = 4
PRINTACTION_OPEN = 0
PRINTACTION_PROPERTIES = 1
PRINTACTION_NETINSTALL = 2
PRINTACTION_NETINSTALLLINK = 3
PRINTACTION_TESTPAGE = 4
PRINTACTION_OPENNETPRN = 5
PRINTACTION_DOCUMENTDEFAULTS = 6
PRINTACTION_SERVERPROPERTIES = 7


CMF_NORMAL = 0
CMF_DEFAULTONLY = 1
CMF_VERBSONLY = 2
CMF_EXPLORE = 4
CMF_NOVERBS = 8
CMF_CANRENAME = 16
CMF_NODEFAULT = 32
CMF_INCLUDESTATIC = 64
CMF_RESERVED = -65536
GCS_VERBA = 0
GCS_HELPTEXTA = 1
GCS_VALIDATEA = 2
GCS_VERBW = 4
GCS_HELPTEXTW = 5
GCS_VALIDATEW = 6
GCS_UNICODE = 4
GCS_VERB = GCS_VERBW
GCS_HELPTEXT = GCS_HELPTEXTW
GCS_VALIDATE = GCS_VALIDATEW
GCS_VERB = GCS_VERBA
GCS_HELPTEXT = GCS_HELPTEXTA
GCS_VALIDATE = GCS_VALIDATEA
CMDSTR_NEWFOLDERA = "NewFolder"
CMDSTR_VIEWLISTA = "ViewList"
CMDSTR_VIEWDETAILSA = "ViewDetails"
CMDSTR_NEWFOLDER = CMDSTR_NEWFOLDERA
CMDSTR_VIEWLIST = CMDSTR_VIEWLISTA
CMDSTR_VIEWDETAILS = CMDSTR_VIEWDETAILSA
CMIC_MASK_HOTKEY = SEE_MASK_HOTKEY
CMIC_MASK_ICON = SEE_MASK_ICON
CMIC_MASK_FLAG_NO_UI = SEE_MASK_FLAG_NO_UI
CMIC_MASK_UNICODE = SEE_MASK_UNICODE
CMIC_MASK_NO_CONSOLE = SEE_MASK_NO_CONSOLE
CMIC_MASK_ASYNCOK = SEE_MASK_ASYNCOK
CMIC_MASK_PTINVOKE = 536870912
GIL_OPENICON = 1
GIL_FORSHELL = 2
GIL_ASYNC = 32
GIL_DEFAULTICON = 64
GIL_FORSHORTCUT = 128
GIL_CHECKSHIELD = 512
GIL_SIMULATEDOC = 1
GIL_PERINSTANCE = 2
GIL_PERCLASS = 4
GIL_NOTFILENAME = 8
GIL_DONTCACHE = 16
GIL_SHIELD = 512
GIL_FORCENOSHIELD = 1024
ISIOI_ICONFILE = 1
ISIOI_ICONINDEX = 2
ISIOI_SYSIMAGELISTINDEX = 4
FO_MOVE = 1
FO_COPY = 2
FO_DELETE = 3
FO_RENAME = 4
FOF_MULTIDESTFILES = 1
FOF_CONFIRMMOUSE = 2
FOF_SILENT = 4
FOF_RENAMEONCOLLISION = 8
FOF_NOCONFIRMATION = 16
FOF_WANTMAPPINGHANDLE = 32
FOF_ALLOWUNDO = 64
FOF_FILESONLY = 128
FOF_SIMPLEPROGRESS = 256
FOF_NOCONFIRMMKDIR = 512
FOF_NOERRORUI = 1024
FOF_NOCOPYSECURITYATTRIBS = 2048
PO_DELETE = 19
PO_RENAME = 20
PO_PORTCHANGE = 32
PO_REN_PORT = 52
FVSIF_RECT = 1
FVSIF_PINNED = 2
FVSIF_NEWFAILED = 134217728
FVSIF_NEWFILE = -2147483648
FVSIF_CANVIEWIT = 1073741824
FCIDM_SHVIEWFIRST = 0
FCIDM_SHVIEWLAST = 32767
FCIDM_BROWSERFIRST = 40960
FCIDM_BROWSERLAST = 48896
FCIDM_GLOBALFIRST = 32768
FCIDM_GLOBALLAST = 40959
FCIDM_MENU_FILE = (FCIDM_GLOBALFIRST+0)
FCIDM_MENU_EDIT = (FCIDM_GLOBALFIRST+64)
FCIDM_MENU_VIEW = (FCIDM_GLOBALFIRST+128)
FCIDM_MENU_VIEW_SEP_OPTIONS = (FCIDM_GLOBALFIRST+129)
FCIDM_MENU_TOOLS = (FCIDM_GLOBALFIRST+192)
FCIDM_MENU_TOOLS_SEP_GOTO = (FCIDM_GLOBALFIRST+193)
FCIDM_MENU_HELP = (FCIDM_GLOBALFIRST+256)
FCIDM_MENU_FIND = (FCIDM_GLOBALFIRST+320)
FCIDM_MENU_EXPLORE = (FCIDM_GLOBALFIRST+336)
FCIDM_MENU_FAVORITES = (FCIDM_GLOBALFIRST+368)
FCIDM_TOOLBAR = (FCIDM_BROWSERFIRST + 0)
FCIDM_STATUS = (FCIDM_BROWSERFIRST + 1)
IDC_OFFLINE_HAND = 103
SBSP_DEFBROWSER = 0
SBSP_SAMEBROWSER = 1
SBSP_NEWBROWSER = 2
SBSP_DEFMODE = 0
SBSP_OPENMODE = 16
SBSP_EXPLOREMODE = 32
SBSP_ABSOLUTE = 0
SBSP_RELATIVE = 4096
SBSP_PARENT = 8192
SBSP_NAVIGATEBACK = 16384
SBSP_NAVIGATEFORWARD = 32768
SBSP_ALLOW_AUTONAVIGATE = 65536
SBSP_INITIATEDBYHLINKFRAME = -2147483648
SBSP_REDIRECT = 1073741824
SBSP_WRITENOHISTORY = 134217728
SBSP_NOAUTOSELECT = 67108864
FCW_STATUS = 1
FCW_TOOLBAR = 2
FCW_TREE = 3
FCW_INTERNETBAR = 6
FCW_PROGRESS = 8
FCT_MERGE = 1
FCT_CONFIGABLE = 2
FCT_ADDTOEND = 4
CDBOSC_SETFOCUS = 0
CDBOSC_KILLFOCUS = 1
CDBOSC_SELCHANGE = 2
CDBOSC_RENAME = 3
SVSI_DESELECT = 0
SVSI_SELECT = 1
SVSI_EDIT = 3
SVSI_DESELECTOTHERS = 4
SVSI_ENSUREVISIBLE = 8
SVSI_FOCUSED = 16
SVSI_TRANSLATEPT = 32
SVGIO_BACKGROUND = 0
SVGIO_SELECTION = 1
SVGIO_ALLVIEW = 2
SVGIO_CHECKED	= 0x3,
SVGIO_TYPE_MASK	= 0xf,
SVGIO_FLAG_VIEWORDER = -2147483648 # 0x80000000
STRRET_WSTR = 0
STRRET_OFFSET = 1
STRRET_CSTR = 2
CSIDL_DESKTOP = 0
CSIDL_INTERNET = 1
CSIDL_PROGRAMS = 2
CSIDL_CONTROLS = 3
CSIDL_PRINTERS = 4
CSIDL_PERSONAL = 5
CSIDL_FAVORITES = 6
CSIDL_STARTUP = 7
CSIDL_RECENT = 8
CSIDL_SENDTO = 9
CSIDL_BITBUCKET = 10
CSIDL_STARTMENU = 11
CSIDL_MYDOCUMENTS = 12
CSIDL_MYMUSIC = 13
CSIDL_MYVIDEO = 14
CSIDL_DESKTOPDIRECTORY = 16
CSIDL_DRIVES = 17
CSIDL_NETWORK = 18
CSIDL_NETHOOD = 19
CSIDL_FONTS = 20
CSIDL_TEMPLATES = 21
CSIDL_COMMON_STARTMENU = 22
CSIDL_COMMON_PROGRAMS = 23
CSIDL_COMMON_STARTUP = 24
CSIDL_COMMON_DESKTOPDIRECTORY = 25
CSIDL_APPDATA = 26
CSIDL_PRINTHOOD = 27
CSIDL_LOCAL_APPDATA = 28
CSIDL_ALTSTARTUP = 29
CSIDL_COMMON_ALTSTARTUP = 30
CSIDL_COMMON_FAVORITES = 31
CSIDL_INTERNET_CACHE = 32
CSIDL_COOKIES = 33
CSIDL_HISTORY = 34
CSIDL_COMMON_APPDATA = 35
CSIDL_WINDOWS = 36
CSIDL_SYSTEM = 37
CSIDL_PROGRAM_FILES = 38
CSIDL_MYPICTURES = 39
CSIDL_PROFILE = 40
CSIDL_SYSTEMX86 = 41
CSIDL_PROGRAM_FILESX86 = 42
CSIDL_PROGRAM_FILES_COMMON = 43
CSIDL_PROGRAM_FILES_COMMONX86 = 44
CSIDL_COMMON_TEMPLATES = 45
CSIDL_COMMON_DOCUMENTS = 46
CSIDL_COMMON_ADMINTOOLS = 47
CSIDL_ADMINTOOLS  = 48
CSIDL_CONNECTIONS = 49
CSIDL_COMMON_MUSIC = 53
CSIDL_COMMON_PICTURES = 54
CSIDL_COMMON_VIDEO = 55
CSIDL_RESOURCES = 56
CSIDL_RESOURCES_LOCALIZED = 57
CSIDL_COMMON_OEM_LINKS = 58
CSIDL_CDBURN_AREA = 59
# 60 unused
CSIDL_COMPUTERSNEARME = 61

BIF_RETURNONLYFSDIRS = 1
BIF_DONTGOBELOWDOMAIN = 2
BIF_STATUSTEXT = 4
BIF_RETURNFSANCESTORS = 8
BIF_EDITBOX = 16
BIF_VALIDATE = 32
BIF_BROWSEFORCOMPUTER = 4096
BIF_BROWSEFORPRINTER = 8192
BIF_BROWSEINCLUDEFILES = 16384
BFFM_INITIALIZED = 1
BFFM_SELCHANGED = 2
BFFM_VALIDATEFAILEDA = 3
BFFM_VALIDATEFAILEDW = 4
BFFM_SETSTATUSTEXTA = (WM_USER + 100)
BFFM_ENABLEOK = (WM_USER + 101)
BFFM_SETSELECTIONA = (WM_USER + 102)
BFFM_SETSELECTIONW = (WM_USER + 103)
BFFM_SETSTATUSTEXTW = (WM_USER + 104)
BFFM_SETSTATUSTEXT = BFFM_SETSTATUSTEXTW
BFFM_SETSELECTION = BFFM_SETSELECTIONW
BFFM_VALIDATEFAILED = BFFM_VALIDATEFAILEDW
BFFM_SETSTATUSTEXT = BFFM_SETSTATUSTEXTA
BFFM_SETSELECTION = BFFM_SETSELECTIONA
BFFM_VALIDATEFAILED = BFFM_VALIDATEFAILEDA
SFGAO_CANCOPY = DROPEFFECT_COPY
SFGAO_CANMOVE = DROPEFFECT_MOVE
SFGAO_CANLINK = DROPEFFECT_LINK
SFGAO_CANRENAME = 16
SFGAO_CANDELETE = 32
SFGAO_HASPROPSHEET = 64
SFGAO_DROPTARGET = 256
SFGAO_CAPABILITYMASK = 375
SFGAO_LINK = 65536
SFGAO_SHARE = 131072
SFGAO_READONLY = 262144
SFGAO_GHOSTED = 524288
SFGAO_HIDDEN = 524288
SFGAO_DISPLAYATTRMASK = 983040
SFGAO_FILESYSANCESTOR = 268435456
SFGAO_FOLDER = 536870912
SFGAO_FILESYSTEM = 1073741824
SFGAO_HASSUBFOLDER = (-2147483648)
SFGAO_CONTENTSMASK = (-2147483648)
SFGAO_VALIDATE = 16777216
SFGAO_REMOVABLE = 33554432
SFGAO_COMPRESSED = 67108864
SFGAO_BROWSABLE = 134217728
SFGAO_NONENUMERATED = 1048576
SFGAO_NEWCONTENT = 2097152
SFGAO_STORAGE = 8
DWFRF_NORMAL = 0
DWFRF_DELETECONFIGDATA = 1
DWFAF_HIDDEN = 1
DBIM_MINSIZE = 1
DBIM_MAXSIZE = 2
DBIM_INTEGRAL = 4
DBIM_ACTUAL = 8
DBIM_TITLE = 16
DBIM_MODEFLAGS = 32
DBIM_BKCOLOR = 64
DBIMF_NORMAL = 0
DBIMF_VARIABLEHEIGHT = 8
DBIMF_DEBOSSED = 32
DBIMF_BKCOLOR = 64
DBIF_VIEWMODE_NORMAL = 0
DBIF_VIEWMODE_VERTICAL = 1
DBIF_VIEWMODE_FLOATING = 2
DBIF_VIEWMODE_TRANSPARENT = 4
COMPONENT_TOP = (2147483647)
COMP_TYPE_HTMLDOC = 0
COMP_TYPE_PICTURE = 1
COMP_TYPE_WEBSITE = 2
COMP_TYPE_CONTROL = 3
COMP_TYPE_CFHTML = 4
COMP_TYPE_MAX = 4
AD_APPLY_SAVE = 1
AD_APPLY_HTMLGEN = 2
AD_APPLY_REFRESH = 4
AD_APPLY_ALL = (AD_APPLY_SAVE | AD_APPLY_HTMLGEN | AD_APPLY_REFRESH)
AD_APPLY_FORCE = 8
AD_APPLY_BUFFERED_REFRESH = 16
WPSTYLE_CENTER = 0
WPSTYLE_TILE = 1
WPSTYLE_STRETCH = 2
WPSTYLE_MAX = 3
COMP_ELEM_TYPE = 1
COMP_ELEM_CHECKED = 2
COMP_ELEM_DIRTY = 4
COMP_ELEM_NOSCROLL = 8
COMP_ELEM_POS_LEFT = 16
COMP_ELEM_POS_TOP = 32
COMP_ELEM_SIZE_WIDTH = 64
COMP_ELEM_SIZE_HEIGHT = 128
COMP_ELEM_POS_ZINDEX = 256
COMP_ELEM_SOURCE = 512
COMP_ELEM_FRIENDLYNAME = 1024
COMP_ELEM_SUBSCRIBEDURL = 2048
ADDURL_SILENT = 0X0001
CFSTR_SHELLIDLIST = "Shell IDList Array"
CFSTR_SHELLIDLISTOFFSET = "Shell Object Offsets"
CFSTR_NETRESOURCES = "Net Resource"
CFSTR_FILEDESCRIPTORA = "FileGroupDescriptor"
CFSTR_FILEDESCRIPTORW = "FileGroupDescriptorW"
CFSTR_FILECONTENTS = "FileContents"
CFSTR_FILENAMEA = "FileName"
CFSTR_FILENAMEW = "FileNameW"
CFSTR_PRINTERGROUP = "PrinterFriendlyName"
CFSTR_FILENAMEMAPA = "FileNameMap"
CFSTR_FILENAMEMAPW = "FileNameMapW"
CFSTR_SHELLURL = "UniformResourceLocator"
CFSTR_INETURLA = CFSTR_SHELLURL
CFSTR_INETURLW = "UniformResourceLocatorW"
CFSTR_PREFERREDDROPEFFECT = "Preferred DropEffect"
CFSTR_PERFORMEDDROPEFFECT = "Performed DropEffect"
CFSTR_PASTESUCCEEDED = "Paste Succeeded"
CFSTR_INDRAGLOOP = "InShellDragLoop"
CFSTR_DRAGCONTEXT = "DragContext"
CFSTR_MOUNTEDVOLUME = "MountedVolume"
CFSTR_PERSISTEDDATAOBJECT = "PersistedDataObject"
CFSTR_TARGETCLSID = "TargetCLSID"
CFSTR_LOGICALPERFORMEDDROPEFFECT = "Logical Performed DropEffect"
CFSTR_AUTOPLAY_SHELLIDLISTS = "Autoplay Enumerated IDList Array"
CFSTR_FILEDESCRIPTOR = CFSTR_FILEDESCRIPTORW
CFSTR_FILENAME = CFSTR_FILENAMEW
CFSTR_FILENAMEMAP = CFSTR_FILENAMEMAPW
CFSTR_FILEDESCRIPTOR = CFSTR_FILEDESCRIPTORA
CFSTR_FILENAME = CFSTR_FILENAMEA
CFSTR_FILENAMEMAP = CFSTR_FILENAMEMAPA
DVASPECT_SHORTNAME = 2
SHCNE_RENAMEITEM = 1
SHCNE_CREATE = 2
SHCNE_DELETE = 4
SHCNE_MKDIR = 8
SHCNE_RMDIR = 16
SHCNE_MEDIAINSERTED = 32
SHCNE_MEDIAREMOVED = 64
SHCNE_DRIVEREMOVED = 128
SHCNE_DRIVEADD = 256
SHCNE_NETSHARE = 512
SHCNE_NETUNSHARE = 1024
SHCNE_ATTRIBUTES = 2048
SHCNE_UPDATEDIR = 4096
SHCNE_UPDATEITEM = 8192
SHCNE_SERVERDISCONNECT = 16384
SHCNE_UPDATEIMAGE = 32768
SHCNE_DRIVEADDGUI = 65536
SHCNE_RENAMEFOLDER = 131072
SHCNE_FREESPACE = 262144
SHCNE_EXTENDED_EVENT = 67108864
SHCNE_ASSOCCHANGED = 134217728
SHCNE_DISKEVENTS = 145439
SHCNE_GLOBALEVENTS = 201687520
SHCNE_ALLEVENTS = 2147483647
SHCNE_INTERRUPT = -2147483648
SHCNEE_ORDERCHANGED = 2
SHCNF_IDLIST = 0
SHCNF_PATHA = 1
SHCNF_PRINTERA = 2
SHCNF_DWORD = 3
SHCNF_PATHW = 5
SHCNF_PRINTERW = 6
SHCNF_TYPE = 255
SHCNF_FLUSH = 4096
SHCNF_FLUSHNOWAIT = 8192
SHCNF_PATH = SHCNF_PATHW
SHCNF_PRINTER = SHCNF_PRINTERW
SHCNF_PATH = SHCNF_PATHA
SHCNF_PRINTER = SHCNF_PRINTERA
QIF_CACHED = 1
QIF_DONTEXPANDFOLDER = 2

# SHARD enum for SHAddToRecentDocs
SHARD_PIDL = 1
SHARD_PATHA = 2
SHARD_PATHW = 3
SHARD_APPIDINFO = 4
SHARD_APPIDINFOIDLIST = 5
SHARD_LINK = 6
SHARD_APPIDINFOLINK = 7
SHARD_SHELLITEM = 8
## SHARD_PATH = SHARD_PATHW
SHARD_PATH = SHARD_PATHA

SHGDFIL_FINDDATA = 1
SHGDFIL_NETRESOURCE = 2
SHGDFIL_DESCRIPTIONID = 3
SHDID_ROOT_REGITEM = 1
SHDID_FS_FILE = 2
SHDID_FS_DIRECTORY = 3
SHDID_FS_OTHER = 4
SHDID_COMPUTER_DRIVE35 = 5
SHDID_COMPUTER_DRIVE525 = 6
SHDID_COMPUTER_REMOVABLE = 7
SHDID_COMPUTER_FIXED = 8
SHDID_COMPUTER_NETDRIVE = 9
SHDID_COMPUTER_CDROM = 10
SHDID_COMPUTER_RAMDISK = 11
SHDID_COMPUTER_OTHER = 12
SHDID_NET_DOMAIN = 13
SHDID_NET_SERVER = 14
SHDID_NET_SHARE = 15
SHDID_NET_RESTOFNET = 16
SHDID_NET_OTHER = 17
PID_IS_URL = 2
PID_IS_NAME = 4
PID_IS_WORKINGDIR = 5
PID_IS_HOTKEY = 6
PID_IS_SHOWCMD = 7
PID_IS_ICONINDEX = 8
PID_IS_ICONFILE = 9
PID_IS_WHATSNEW = 10
PID_IS_AUTHOR = 11
PID_IS_DESCRIPTION = 12
PID_IS_COMMENT = 13
PID_INTSITE_WHATSNEW = 2
PID_INTSITE_AUTHOR = 3
PID_INTSITE_LASTVISIT = 4
PID_INTSITE_LASTMOD = 5
PID_INTSITE_VISITCOUNT = 6
PID_INTSITE_DESCRIPTION = 7
PID_INTSITE_COMMENT = 8
PID_INTSITE_FLAGS = 9
PID_INTSITE_CONTENTLEN = 10
PID_INTSITE_CONTENTCODE = 11
PID_INTSITE_RECURSE = 12
PID_INTSITE_WATCH = 13
PID_INTSITE_SUBSCRIPTION = 14
PID_INTSITE_URL = 15
PID_INTSITE_TITLE = 16
PID_INTSITE_CODEPAGE = 18
PID_INTSITE_TRACKING = 19
PIDISF_RECENTLYCHANGED = 1
PIDISF_CACHEDSTICKY = 2
PIDISF_CACHEIMAGES = 16
PIDISF_FOLLOWALLLINKS = 32
PIDISM_GLOBAL = 0
PIDISM_WATCH = 1
PIDISM_DONTWATCH = 2
SSF_SHOWALLOBJECTS = 1
SSF_SHOWEXTENSIONS = 2
SSF_SHOWCOMPCOLOR = 8
SSF_SHOWSYSFILES = 32
SSF_DOUBLECLICKINWEBVIEW = 128
SSF_SHOWATTRIBCOL = 256
SSF_DESKTOPHTML = 512
SSF_WIN95CLASSIC = 1024
SSF_DONTPRETTYPATH = 2048
SSF_SHOWINFOTIP = 8192
SSF_MAPNETDRVBUTTON = 4096
SSF_NOCONFIRMRECYCLE = 32768
SSF_HIDEICONS = 16384

ABM_NEW = 0
ABM_REMOVE = 1
ABM_QUERYPOS = 2
ABM_SETPOS = 3
ABM_GETSTATE = 4
ABM_GETTASKBARPOS = 5
ABM_ACTIVATE = 6
ABM_GETAUTOHIDEBAR = 7
ABM_SETAUTOHIDEBAR = 8
ABM_WINDOWPOSCHANGED = 9
ABN_STATECHANGE = 0
ABN_POSCHANGED = 1
ABN_FULLSCREENAPP = 2
ABN_WINDOWARRANGE = 3
ABS_AUTOHIDE = 1
ABS_ALWAYSONTOP = 2
ABE_LEFT = 0
ABE_TOP = 1
ABE_RIGHT = 2
ABE_BOTTOM = 3
def EIRESID(x): return (-1 * (int)(x))

# Some manually added ones
CSIDL_COMMON_APPDATA = 35
CSIDL_LOCAL_APPDATA = 28

SHCONTF_FOLDERS         = 32 # for shell browser
SHCONTF_NONFOLDERS      = 64 # for default view
SHCONTF_INCLUDEHIDDEN   = 128 # for hidden/system objects
SHCONTF_INIT_ON_FIRST_NEXT  = 256
SHCONTF_NETPRINTERSRCH      = 512
SHCONTF_SHAREABLE           = 1024
SHCONTF_STORAGE             = 2048

SHGDN_NORMAL            = 0        # default (display purpose)
SHGDN_INFOLDER          = 1        # displayed under a folder (relative)
SHGDN_FOREDITING         = 4096   # for in-place editing
SHGDN_INCLUDE_NONFILESYS = 8192   # if not set, display names for shell name space items that are not in the file system will fail.
SHGDN_FORADDRESSBAR     = 16384   # for displaying in the address (drives dropdown) bar
SHGDN_FORPARSING        = 32768   # for ParseDisplayName or path

SHCONTF_FOLDERS         = 32       # for shell browser
SHCONTF_NONFOLDERS      = 64       # for default view
SHCONTF_INCLUDEHIDDEN   = 128      # for hidden/system objects

BFO_NONE	= 0
BFO_BROWSER_PERSIST_SETTINGS	= 1
BFO_RENAME_FOLDER_OPTIONS_TOINTERNET	= 2
BFO_BOTH_OPTIONS	= 4
BIF_PREFER_INTERNET_SHORTCUT	= 8
BFO_BROWSE_NO_IN_NEW_PROCESS	= 16
BFO_ENABLE_HYPERLINK_TRACKING	= 32
BFO_USE_IE_OFFLINE_SUPPORT	= 64
BFO_SUBSTITUE_INTERNET_START_PAGE	= 128
BFO_USE_IE_LOGOBANDING	= 256
BFO_ADD_IE_TOCAPTIONBAR	= 512
BFO_USE_DIALUP_REF	= 1024
BFO_USE_IE_TOOLBAR	= 2048
BFO_NO_PARENT_FOLDER_SUPPORT	= 4096
BFO_NO_REOPEN_NEXT_RESTART	= 8192
BFO_GO_HOME_PAGE	= 16384
BFO_PREFER_IEPROCESS	= 32768
BFO_SHOW_NAVIGATION_CANCELLED	= 65536
BFO_QUERY_ALL	= -1
# From ShlGuid.h
PID_FINDDATA = 0
PID_NETRESOURCE = 1
PID_DESCRIPTIONID = 2
PID_WHICHFOLDER = 3
PID_NETWORKLOCATION = 4
PID_COMPUTERNAME = 5
PID_DISPLACED_FROM = 2
PID_DISPLACED_DATE = 3
PID_SYNC_COPY_IN = 2
PID_MISC_STATUS = 2
PID_MISC_ACCESSCOUNT = 3
PID_MISC_OWNER = 4
PID_HTMLINFOTIPFILE = 5
PID_MISC_PICS = 6
PID_DISPLAY_PROPERTIES = 0
PID_INTROTEXT = 1
PIDSI_ARTIST = 2
PIDSI_SONGTITLE = 3
PIDSI_ALBUM = 4
PIDSI_YEAR = 5
PIDSI_COMMENT = 6
PIDSI_TRACK = 7
PIDSI_GENRE = 11
PIDSI_LYRICS = 12
PIDDRSI_PROTECTED = 2
PIDDRSI_DESCRIPTION = 3
PIDDRSI_PLAYCOUNT = 4
PIDDRSI_PLAYSTARTS = 5
PIDDRSI_PLAYEXPIRES = 6
PIDVSI_STREAM_NAME = 2
PIDVSI_FRAME_WIDTH = 3
PIDVSI_FRAME_HEIGHT = 4
PIDVSI_TIMELENGTH = 7
PIDVSI_FRAME_COUNT = 5
PIDVSI_FRAME_RATE = 6
PIDVSI_DATA_RATE = 8
PIDVSI_SAMPLE_SIZE = 9
PIDVSI_COMPRESSION = 10
PIDVSI_STREAM_NUMBER = 11
PIDASI_FORMAT = 2
PIDASI_TIMELENGTH = 3
PIDASI_AVG_DATA_RATE = 4
PIDASI_SAMPLE_RATE = 5
PIDASI_SAMPLE_SIZE = 6
PIDASI_CHANNEL_COUNT = 7
PIDASI_STREAM_NUMBER = 8
PIDASI_STREAM_NAME = 9
PIDASI_COMPRESSION = 10
PID_CONTROLPANEL_CATEGORY = 2
PID_VOLUME_FREE = 2
PID_VOLUME_CAPACITY = 3
PID_VOLUME_FILESYSTEM = 4
PID_SHARE_CSC_STATUS = 2
PID_LINK_TARGET = 2
PID_QUERY_RANK = 2
# From PropIdl.h
PROPSETFLAG_DEFAULT = ( 0 )
PROPSETFLAG_NONSIMPLE = ( 1 )
PROPSETFLAG_ANSI = ( 2 )
PROPSETFLAG_UNBUFFERED = ( 4 )
PROPSETFLAG_CASE_SENSITIVE = ( 8 )
PROPSET_BEHAVIOR_CASE_SENSITIVE = ( 1 )
PID_DICTIONARY = ( 0 )
PID_CODEPAGE = ( 1 )
PID_FIRST_USABLE = ( 2 )
PID_FIRST_NAME_DEFAULT = ( 4095 )
PID_LOCALE = ( (-2147483648) )
PID_MODIFY_TIME = ( (-2147483647) )
PID_SECURITY = ( (-2147483646) )
PID_BEHAVIOR = ( (-2147483645) )
PID_ILLEGAL = ( (-1) )
PID_MIN_READONLY = ( (-2147483648) )
PID_MAX_READONLY = ( (-1073741825) )
PIDDI_THUMBNAIL = 2
PIDSI_TITLE = 2
PIDSI_SUBJECT = 3
PIDSI_AUTHOR = 4
PIDSI_KEYWORDS = 5
PIDSI_COMMENTS = 6
PIDSI_TEMPLATE = 7
PIDSI_LASTAUTHOR = 8
PIDSI_REVNUMBER = 9
PIDSI_EDITTIME = 10
PIDSI_LASTPRINTED = 11
PIDSI_CREATE_DTM = 12
PIDSI_LASTSAVE_DTM = 13
PIDSI_PAGECOUNT = 14
PIDSI_WORDCOUNT = 15
PIDSI_CHARCOUNT = 16
PIDSI_THUMBNAIL = 17
PIDSI_APPNAME = 18
PIDSI_DOC_SECURITY = 19
PIDDSI_CATEGORY = 2
PIDDSI_PRESFORMAT = 3
PIDDSI_BYTECOUNT = 4
PIDDSI_LINECOUNT = 5
PIDDSI_PARCOUNT = 6
PIDDSI_SLIDECOUNT = 7
PIDDSI_NOTECOUNT = 8
PIDDSI_HIDDENCOUNT = 9
PIDDSI_MMCLIPCOUNT = 10
PIDDSI_SCALE = 11
PIDDSI_HEADINGPAIR = 12
PIDDSI_DOCPARTS = 13
PIDDSI_MANAGER = 14
PIDDSI_COMPANY = 15
PIDDSI_LINKSDIRTY = 16
PIDMSI_EDITOR = 2
PIDMSI_SUPPLIER = 3
PIDMSI_SOURCE = 4
PIDMSI_SEQUENCE_NO = 5
PIDMSI_PROJECT = 6
PIDMSI_STATUS = 7
PIDMSI_OWNER = 8
PIDMSI_RATING = 9
PIDMSI_PRODUCTION = 10
PIDMSI_COPYRIGHT = 11
PRSPEC_INVALID = ( (-1) )
PRSPEC_LPWSTR = ( 0 )
PRSPEC_PROPID = ( 1 )
# From ShObjIdl.h
SHCIDS_ALLFIELDS = (-2147483648)
SHCIDS_CANONICALONLY = 268435456
SHCIDS_BITMASK = (-65536)
SHCIDS_COLUMNMASK = 65535
SFGAO_CANMONIKER = 4194304
SFGAO_HASSTORAGE = 4194304
SFGAO_STREAM = 4194304
SFGAO_STORAGEANCESTOR = 8388608
SFGAO_STORAGECAPMASK = 1891958792

MAXPROPPAGES = 100
PSP_DEFAULT = 0
PSP_DLGINDIRECT = 1
PSP_USEHICON = 2
PSP_USEICONID = 4
PSP_USETITLE = 8
PSP_RTLREADING = 16
PSP_HASHELP = 32
PSP_USEREFPARENT = 64
PSP_USECALLBACK = 128
PSP_PREMATURE = 1024
PSP_HIDEHEADER = 2048
PSP_USEHEADERTITLE = 4096
PSP_USEHEADERSUBTITLE = 8192
PSP_USEFUSIONCONTEXT = 16384
PSPCB_ADDREF = 0
PSPCB_RELEASE = 1
PSPCB_CREATE = 2

PSH_DEFAULT = 0
PSH_PROPTITLE = 1
PSH_USEHICON = 2
PSH_USEICONID = 4
PSH_PROPSHEETPAGE = 8
PSH_WIZARDHASFINISH = 16
PSH_WIZARD = 32
PSH_USEPSTARTPAGE = 64
PSH_NOAPPLYNOW = 128
PSH_USECALLBACK = 256
PSH_HASHELP = 512
PSH_MODELESS = 1024
PSH_RTLREADING = 2048
PSH_WIZARDCONTEXTHELP = 4096
PSH_WIZARD97 = 8192
PSH_WIZARD97 = 16777216
PSH_WATERMARK = 32768
PSH_USEHBMWATERMARK = 65536
PSH_USEHPLWATERMARK = 131072
PSH_STRETCHWATERMARK = 262144
PSH_HEADER = 524288
PSH_USEHBMHEADER = 1048576
PSH_USEPAGELANG = 2097152
PSH_WIZARD_LITE = 4194304
PSH_NOCONTEXTHELP = 33554432

PSCB_INITIALIZED = 1
PSCB_PRECREATE = 2
PSCB_BUTTONPRESSED = 3
PSNRET_NOERROR = 0
PSNRET_INVALID = 1
PSNRET_INVALID_NOCHANGEPAGE = 2
PSNRET_MESSAGEHANDLED = 3

PSWIZB_BACK = 1
PSWIZB_NEXT = 2
PSWIZB_FINISH = 4
PSWIZB_DISABLEDFINISH = 8
PSBTN_BACK = 0
PSBTN_NEXT = 1
PSBTN_FINISH = 2
PSBTN_OK = 3
PSBTN_APPLYNOW = 4
PSBTN_CANCEL = 5
PSBTN_HELP = 6
PSBTN_MAX = 6

ID_PSRESTARTWINDOWS = 2
ID_PSREBOOTSYSTEM = (ID_PSRESTARTWINDOWS | 1)
WIZ_CXDLG = 276
WIZ_CYDLG = 140
WIZ_CXBMP = 80
WIZ_BODYX = 92
WIZ_BODYCX = 184
PROP_SM_CXDLG = 212
PROP_SM_CYDLG = 188
PROP_MED_CXDLG = 227
PROP_MED_CYDLG = 215
PROP_LG_CXDLG = 252
PROP_LG_CYDLG = 218
ISOLATION_AWARE_USE_STATIC_LIBRARY = 0
ISOLATION_AWARE_BUILD_STATIC_LIBRARY = 0

SHCOLSTATE_TYPE_STR	= 1
SHCOLSTATE_TYPE_INT	= 2
SHCOLSTATE_TYPE_DATE	= 3
SHCOLSTATE_TYPEMASK	= 15
SHCOLSTATE_ONBYDEFAULT	= 16
SHCOLSTATE_SLOW	= 32
SHCOLSTATE_EXTENDED	= 64
SHCOLSTATE_SECONDARYUI	= 128
SHCOLSTATE_HIDDEN	= 256
SHCOLSTATE_PREFER_VARCMP	= 512

FWF_AUTOARRANGE	= 1
FWF_ABBREVIATEDNAMES	= 2
FWF_SNAPTOGRID	= 4
FWF_OWNERDATA	= 8
FWF_BESTFITWINDOW	= 16
FWF_DESKTOP	= 32
FWF_SINGLESEL	= 64
FWF_NOSUBFOLDERS	= 128
FWF_TRANSPARENT	= 256
FWF_NOCLIENTEDGE	= 512
FWF_NOSCROLL	= 1024
FWF_ALIGNLEFT	= 2048
FWF_NOICONS	= 4096
FWF_SHOWSELALWAYS	= 8192
FWF_NOVISIBLE	= 16384
FWF_SINGLECLICKACTIVATE	= 32768
FWF_NOWEBVIEW	= 65536
FWF_HIDEFILENAMES	= 131072
FWF_CHECKSELECT	= 262144

FVM_FIRST	= 1
FVM_ICON	= 1
FVM_SMALLICON	= 2
FVM_LIST	= 3
FVM_DETAILS	= 4
FVM_THUMBNAIL	= 5
FVM_TILE	= 6
FVM_THUMBSTRIP	= 7

SVUIA_DEACTIVATE	= 0
SVUIA_ACTIVATE_NOFOCUS	= 1
SVUIA_ACTIVATE_FOCUS	= 2
SVUIA_INPLACEACTIVATE	= 3

# SHChangeNotifyRegister flags
SHCNRF_InterruptLevel = 1
SHCNRF_ShellLevel = 2
SHCNRF_RecursiveInterrupt = 4096
SHCNRF_NewDelivery = 32768

FD_CLSID            = 0x0001
FD_SIZEPOINT        = 0x0002
FD_ATTRIBUTES       = 0x0004
FD_CREATETIME       = 0x0008
FD_ACCESSTIME       = 0x0010
FD_WRITESTIME       = 0x0020
FD_FILESIZE         = 0x0040
FD_PROGRESSUI       = 0x4000
FD_LINKUI           = 0x8000

# shlwapi stuff
ASSOCF_INIT_NOREMAPCLSID           = 0x00000001  #  do not remap clsids to progids
ASSOCF_INIT_BYEXENAME              = 0x00000002 # executable is being passed in
ASSOCF_OPEN_BYEXENAME              = 0x00000002 # executable is being passed in
ASSOCF_INIT_DEFAULTTOSTAR          = 0x00000004 # treat "*" as the BaseClass
ASSOCF_INIT_DEFAULTTOFOLDER        = 0x00000008 # treat "Folder" as the BaseClass
ASSOCF_NOUSERSETTINGS              = 0x00000010 #  dont use HKCU
ASSOCF_NOTRUNCATE                  = 0x00000020 # dont truncate the return string
ASSOCF_VERIFY                      = 0x00000040 #  verify data is accurate (DISK HITS)
ASSOCF_REMAPRUNDLL                 = 0x00000080 # actually gets info about rundlls target if applicable
ASSOCF_NOFIXUPS                    = 0x00000100 # attempt to fix errors if found
ASSOCF_IGNOREBASECLASS             = 0x00000200 # dont recurse into the baseclass

ASSOCSTR_COMMAND      = 1 # shell\verb\command string
ASSOCSTR_EXECUTABLE = 2 # the executable part of command string
ASSOCSTR_FRIENDLYDOCNAME = 3 # friendly name of the document type
ASSOCSTR_FRIENDLYAPPNAME = 4 # friendly name of executable
ASSOCSTR_NOOPEN = 5  # noopen value
ASSOCSTR_SHELLNEWVALUE = 6 # query values under the shellnew key
ASSOCSTR_DDECOMMAND = 7 # template for DDE commands
ASSOCSTR_DDEIFEXEC = 8 # DDECOMMAND to use if just create a process
ASSOCSTR_DDEAPPLICATION = 9 # Application name in DDE broadcast
ASSOCSTR_DDETOPIC = 10 # Topic Name in DDE broadcast
ASSOCSTR_INFOTIP = 11 # info tip for an item, or list of properties to create info tip from
ASSOCSTR_QUICKTIP = 12 # same as ASSOCSTR_INFOTIP, except, this list contains only quickly retrievable properties
ASSOCSTR_TILEINFO = 13 # similar to ASSOCSTR_INFOTIP - lists important properties for tileview
ASSOCSTR_CONTENTTYPE = 14 # MIME Content type
ASSOCSTR_DEFAULTICON = 15 # Default icon source
ASSOCSTR_SHELLEXTENSION = 16 # Guid string pointing to the Shellex\Shellextensionhandler value.

ASSOCKEY_SHELLEXECCLASS = 1 # the key that should be passed to ShellExec(hkeyClass)
ASSOCKEY_APP = 2 # the "Application" key for the association
ASSOCKEY_CLASS = 3 # the progid or class key
ASSOCKEY_BASECLASS = 4 # the BaseClass key

ASSOCDATA_MSIDESCRIPTOR = 1 # Component Descriptor to pass to MSI APIs
ASSOCDATA_NOACTIVATEHANDLER = 2 # restrict attempts to activate window
ASSOCDATA_QUERYCLASSSTORE = 3 # should check with the NT Class Store
ASSOCDATA_HASPERUSERASSOC = 4 # defaults to user specified association
ASSOCDATA_EDITFLAGS = 5 # Edit flags.
ASSOCDATA_VALUE = 6 # use pszExtra as the Value name

# flags used with SHGetViewStatePropertyBag
SHGVSPB_PERUSER = 1
SHGVSPB_ALLUSERS = 2
SHGVSPB_PERFOLDER = 4
SHGVSPB_ALLFOLDERS = 8
SHGVSPB_INHERIT = 16
SHGVSPB_ROAM = 32
SHGVSPB_NOAUTODEFAULTS = 2147483648 # 0x80000000
SHGVSPB_FOLDER = SHGVSPB_PERUSER | SHGVSPB_PERFOLDER
SHGVSPB_FOLDERNODEFAULTS = SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS
SHGVSPB_USERDEFAULTS = SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS
SHGVSPB_GLOBALDEAFAULTS = SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS

# IDeskband and related
DBIM_MINSIZE    = 0x0001
DBIM_MAXSIZE    = 0x0002
DBIM_INTEGRAL   = 0x0004
DBIM_ACTUAL     = 0x0008
DBIM_TITLE      = 0x0010
DBIM_MODEFLAGS  = 0x0020
DBIM_BKCOLOR    = 0x0040

DBIMF_NORMAL            = 0x0000
DBIMF_VARIABLEHEIGHT    = 0x0008
DBIMF_DEBOSSED          = 0x0020
DBIMF_BKCOLOR           = 0x0040

DBIF_VIEWMODE_NORMAL         = 0x0000
DBIF_VIEWMODE_VERTICAL       = 0x0001
DBIF_VIEWMODE_FLOATING       = 0x0002
DBIF_VIEWMODE_TRANSPARENT    = 0x0004

# Message types used with SHShellFolderView_Message
SFVM_REARRANGE = 1
SFVM_ADDOBJECT = 3
SFVM_REMOVEOBJECT = 6
SFVM_UPDATEOBJECT = 7
SFVM_GETSELECTEDOBJECTS = 9
SFVM_SETITEMPOS = 14
SFVM_SETCLIPBOARD = 16
SFVM_SETPOINTS = 23

# SHELL_LINK_DATA_FLAGS enum, used with IShellLinkDatalist
SLDF_HAS_ID_LIST = 1
SLDF_HAS_LINK_INFO = 2
SLDF_HAS_NAME = 4
SLDF_HAS_RELPATH = 8
SLDF_HAS_WORKINGDIR = 16
SLDF_HAS_ARGS = 32
SLDF_HAS_ICONLOCATION = 64
SLDF_UNICODE = 128
SLDF_FORCE_NO_LINKINFO = 256
SLDF_HAS_EXP_SZ = 512
SLDF_RUN_IN_SEPARATE = 1024
SLDF_HAS_LOGO3ID = 2048
SLDF_HAS_DARWINID = 4096
SLDF_RUNAS_USER = 8192
SLDF_NO_PIDL_ALIAS = 32768
SLDF_FORCE_UNCNAME = 65536
SLDF_HAS_EXP_ICON_SZ = 16384
SLDF_RUN_WITH_SHIMLAYER = 131072
SLDF_RESERVED = 2147483648

# IShellLinkDataList data block signatures
EXP_SPECIAL_FOLDER_SIG = 2684354565
NT_CONSOLE_PROPS_SIG = 2684354562
NT_FE_CONSOLE_PROPS_SIG = 2684354564
EXP_DARWIN_ID_SIG = 2684354566
EXP_LOGO3_ID_SIG = 2684354567
EXP_SZ_ICON_SIG = 2684354567
EXP_SZ_LINK_SIG = 2684354561

# IURL_SETURL_FLAGS enum, used with PyIUniformResourceLocator.SetURL
IURL_SETURL_FL_GUESS_PROTOCOL = 1
IURL_SETURL_FL_USE_DEFAULT_PROTOCOL = 2

# IURL_INVOKECOMMAND_FLAGS enum, used with PyIUniformResourceLocator.InvokeCommand
IURL_INVOKECOMMAND_FL_ALLOW_UI = 1
IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB = 2
IURL_INVOKECOMMAND_FL_DDEWAIT = 4

## constants used with IActiveDesktop
# COMPONENT.ComponentType
COMP_TYPE_HTMLDOC = 0
COMP_TYPE_PICTURE = 1
COMP_TYPE_WEBSITE = 2
COMP_TYPE_CONTROL = 3
COMP_TYPE_CFHTML = 4
COMP_TYPE_MAX	 = 4
# COMPONENT.CurItemState
IS_NORMAL = 1
IS_FULLSCREEN = 2
IS_SPLIT = 4
IS_VALIDSIZESTATEBITS = IS_NORMAL|IS_SPLIT|IS_FULLSCREEN
IS_VALIDSTATEBITS = IS_NORMAL|IS_SPLIT|IS_FULLSCREEN|2147483648|1073741824        ## 0x80000000|0x40000000
# IActiveDesktop.ApplyChanges Flags
AD_APPLY_SAVE = 1
AD_APPLY_HTMLGEN = 2
AD_APPLY_REFRESH = 4
AD_APPLY_ALL = AD_APPLY_SAVE|AD_APPLY_HTMLGEN|AD_APPLY_REFRESH
AD_APPLY_FORCE = 8
AD_APPLY_BUFFERED_REFRESH = 16
AD_APPLY_DYNAMICREFRESH = 32
# Wallpaper styles used with GetWallpaper and SetWallpaper
WPSTYLE_CENTER = 0
WPSTYLE_TILE = 1
WPSTYLE_STRETCH = 2
WPSTYLE_MAX = 3
# ModifyDesktopItem flags
COMP_ELEM_TYPE = 1             ## 0x00000001
COMP_ELEM_CHECKED = 2          ## 0x00000002
COMP_ELEM_DIRTY = 4            ## 0x00000004
COMP_ELEM_NOSCROLL = 8         ## 0x00000008
COMP_ELEM_POS_LEFT = 16	    ## 0x00000010
COMP_ELEM_POS_TOP = 32         ## 0x00000020
COMP_ELEM_SIZE_WIDTH = 64      ## 0x00000040
COMP_ELEM_SIZE_HEIGHT = 128    ## 0x00000080
COMP_ELEM_POS_ZINDEX = 256     ## 0x00000100
COMP_ELEM_SOURCE = 512         ## 0x00000200
COMP_ELEM_FRIENDLYNAME = 1024  ## 0x00000400
COMP_ELEM_SUBSCRIBEDURL = 2048 ## 0x00000800
COMP_ELEM_ORIGINAL_CSI = 4096  ## 0x00001000
COMP_ELEM_RESTORED_CSI = 8192  ## 0x00002000
COMP_ELEM_CURITEMSTATE = 16384 ## 0x00004000
COMP_ELEM_ALL = COMP_ELEM_TYPE|COMP_ELEM_CHECKED|COMP_ELEM_DIRTY|COMP_ELEM_NOSCROLL|COMP_ELEM_POS_LEFT \
	|COMP_ELEM_SIZE_WIDTH|COMP_ELEM_SIZE_HEIGHT|COMP_ELEM_POS_ZINDEX|COMP_ELEM_SOURCE \
	|COMP_ELEM_FRIENDLYNAME|COMP_ELEM_POS_TOP|COMP_ELEM_SUBSCRIBEDURL|COMP_ELEM_ORIGINAL_CSI \
	|COMP_ELEM_RESTORED_CSI|COMP_ELEM_CURITEMSTATE

DTI_ADDUI_DEFAULT = 0
DTI_ADDUI_DISPSUBWIZARD = 1
DTI_ADDUI_POSITIONITEM = 2
ADDURL_SILENT = 1
COMPONENT_TOP = 1073741823 ## 0x3fffffff
COMPONENT_DEFAULT_LEFT = 65535  ## 0xFFFF
COMPONENT_DEFAULT_TOP = 65535   ## 0xFFFF

SSM_CLEAR = 0
SSM_SET = 1
SSM_REFRESH = 2
SSM_UPDATE = 4

SCHEME_DISPLAY = 1     ##0x0001
SCHEME_EDIT = 2        ##0x0002
SCHEME_LOCAL = 4       ##0x0004
SCHEME_GLOBAL = 8      ##0x0008
SCHEME_REFRESH = 16    ##0x0010
SCHEME_UPDATE = 32     ##0x0020
SCHEME_DONOTUSE = 64   ##0x0040
SCHEME_CREATE = 128    ##0x0080

GADOF_DIRTY = 1

# From EmptyVC.h
EVCF_HASSETTINGS = 0x0001
EVCF_ENABLEBYDEFAULT = 0x0002
EVCF_REMOVEFROMLIST = 0x0004
EVCF_ENABLEBYDEFAULT_AUTO = 0x0008
EVCF_DONTSHOWIFZERO = 0x0010
EVCF_SETTINGSMODE = 0x0020
EVCF_OUTOFDISKSPACE = 0x0040
EVCCBF_LASTNOTIFICATION = 0x0001

# ShObjIdl.h IExplorer* related
EBO_NONE	= 0
EBO_NAVIGATEONCE	= 0x1
EBO_SHOWFRAMES	= 0x2
EBO_ALWAYSNAVIGATE	= 0x4
EBO_NOTRAVELLOG	= 0x8
EBO_NOWRAPPERWINDOW	= 0x10
EBF_NONE	= 0
EBF_SELECTFROMDATAOBJECT	= 0x100
EBF_NODROPTARGET	= 0x200
ECS_ENABLED	= 0
ECS_DISABLED	= 0x1
ECS_HIDDEN	= 0x2
ECS_CHECKBOX	= 0x4
ECS_CHECKED	= 0x8

ECF_HASSUBCOMMANDS	= 0x1
ECF_HASSPLITBUTTON	= 0x2
ECF_HIDELABEL	= 0x4
ECF_ISSEPARATOR	= 0x8
ECF_HASLUASHIELD	= 0x10

SIATTRIBFLAGS_AND	= 0x1
SIATTRIBFLAGS_OR	= 0x2
SIATTRIBFLAGS_APPCOMPAT	= 0x3
SIATTRIBFLAGS_MASK	= 0x3

SIGDN_NORMALDISPLAY	= 0
SIGDN_PARENTRELATIVEPARSING	= -2147385343 ## 0x80018001
SIGDN_DESKTOPABSOLUTEPARSING	= -2147319808 ## 0x80028000
SIGDN_PARENTRELATIVEEDITING	= -2147282943 ## 0x80031001
SIGDN_DESKTOPABSOLUTEEDITING	= -2147172352 ## 0x8004c000
SIGDN_FILESYSPATH	= -2147123200 ## 0x80058000
SIGDN_URL	= -2147057664 ## 0x80068000
SIGDN_PARENTRELATIVEFORADDRESSBAR	= -2146975743 ## 0x8007c001,
SIGDN_PARENTRELATIVE	= -2146959359 ## 0x80080001

SICHINT_DISPLAY	= 0,
SICHINT_ALLFIELDS	= -2147483648 ## 0x80000000
SICHINT_CANONICAL	= 0x10000000

ASSOCCLASS_SHELL_KEY = 0
ASSOCCLASS_PROGID_KEY = 1 # hkeyClass
ASSOCCLASS_PROGID_STR = 2 # pszClass (HKCR\pszClass)
ASSOCCLASS_CLSID_KEY = 3 # hkeyClass
ASSOCCLASS_CLSID_STR = 4 #  pszClass (HKCR\CLSID\pszClass)
ASSOCCLASS_APP_KEY = 5 # hkeyClass
ASSOCCLASS_APP_STR = 6 # pszClass (HKCR\Applications\PathFindFileName(pszClass))
ASSOCCLASS_SYSTEM_STR = 7 # pszClass
ASSOCCLASS_FOLDER = 8 # none
ASSOCCLASS_STAR = 9 # none

NSTCS_HASEXPANDOS	= 0x1
NSTCS_HASLINES	= 0x2
NSTCS_SINGLECLICKEXPAND	= 0x4
NSTCS_FULLROWSELECT	= 0x8
NSTCS_SPRINGEXPAND	= 0x10
NSTCS_HORIZONTALSCROLL	= 0x20
NSTCS_ROOTHASEXPANDO	= 0x40
NSTCS_SHOWSELECTIONALWAYS	= 0x80
NSTCS_NOINFOTIP	= 0x200
NSTCS_EVENHEIGHT	= 0x400
NSTCS_NOREPLACEOPEN	= 0x800
NSTCS_DISABLEDRAGDROP	= 0x1000
NSTCS_NOORDERSTREAM	= 0x2000
NSTCS_RICHTOOLTIP	= 0x4000
NSTCS_BORDER	= 0x8000
NSTCS_NOEDITLABELS	= 0x10000
NSTCS_TABSTOP	= 0x20000
NSTCS_FAVORITESMODE	= 0x80000
NSTCS_AUTOHSCROLL	= 0x100000
NSTCS_FADEINOUTEXPANDOS	= 0x200000
NSTCS_EMPTYTEXT	= 0x400000
NSTCS_CHECKBOXES	= 0x800000
NSTCS_PARTIALCHECKBOXES	= 0x1000000
NSTCS_EXCLUSIONCHECKBOXES	= 0x2000000
NSTCS_DIMMEDCHECKBOXES	= 0x4000000
NSTCS_NOINDENTCHECKS	= 0x8000000
NSTCS_ALLOWJUNCTIONS	= 0x10000000
NSTCS_SHOWTABSBUTTON	= 0x20000000
NSTCS_SHOWDELETEBUTTON	= 0x40000000
NSTCS_SHOWREFRESHBUTTON	= -2147483648 # 0x80000000

NSTCRS_VISIBLE	= 0
NSTCRS_HIDDEN	= 0x1
NSTCRS_EXPANDED	= 0x2
NSTCIS_NONE	= 0
NSTCIS_SELECTED	= 0x1
NSTCIS_EXPANDED	= 0x2
NSTCIS_BOLD	= 0x4
NSTCIS_DISABLED	= 0x8
NSTCGNI_NEXT	= 0
NSTCGNI_NEXTVISIBLE	= 0x1
NSTCGNI_PREV	= 0x2
NSTCGNI_PREVVISIBLE	= 0x3
NSTCGNI_PARENT	= 0x4
NSTCGNI_CHILD	= 0x5
NSTCGNI_FIRSTVISIBLE	= 0x6
NSTCGNI_LASTVISIBLE	= 0x7

CLSID_ExplorerBrowser = "{71f96385-ddd6-48d3-a0c1-ae06e8b055fb}"

# Names of the methods of many shell interfaces; used by implementation of
# the interfaces.
IBrowserFrame_Methods = ["GetFrameOptions"]
ICategorizer_Methods = ["GetDescription", "GetCategory",
                        "GetCategoryInfo", "CompareCategory"]
ICategoryProvider_Methods = ["CanCategorizeOnSCID", "GetDefaultCategory",
                             "GetCategoryForSCID", "EnumCategories",
                             "GetCategoryName", "CreateCategory"]
IContextMenu_Methods = ["QueryContextMenu", "InvokeCommand", "GetCommandString"]
IExplorerCommand_Methods = ["GetTitle", "GetIcon", "GetToolTip",
                            "GetCanonicalName", "GetState", "Invoke",
                            "GetFlags", "EnumSubCommands"]
IExplorerCommandProvider_Methods = ["GetCommand", "GetCommands"]
IOleWindow_Methods = ["GetWindow", "ContextSensitiveHelp"] # XXX - this should be somewhere in win32com
IPersist_Methods = ["GetClassID"]
IPersistFolder_Methods = IPersist_Methods + ["Initialize"]
IPersistFolder2_Methods = IPersistFolder_Methods + ["GetCurFolder"]
IShellExtInit_Methods = ["Initialize"]
IShellView_Methods = IOleWindow_Methods + \
                     ["TranslateAccelerator", "EnableModeless", "UIActivate",
                      "Refresh", "CreateViewWindow", "DestroyViewWindow",
                      "GetCurrentInfo", "AddPropertySheetPages",
                      "SaveViewState", "SelectItem", "GetItemObject"]

IShellFolder_Methods = ["ParseDisplayName", "EnumObjects", "BindToObject",
                        "BindToStorage", "CompareIDs", "CreateViewObject",
                        "GetAttributesOf", "GetUIObjectOf",
                        "GetDisplayNameOf", "SetNameOf"]
IShellFolder2_Methods = IShellFolder_Methods + \
                        ["GetDefaultSearchGUID", "EnumSearches",
                         "GetDefaultColumn", "GetDefaultColumnState",
                         "GetDetailsEx", "GetDetailsOf", "MapColumnToSCID"]

## enum GETPROPERTYSTOREFLAGS, used with IShellItem2 methods
GPS_DEFAULT	= 0
GPS_HANDLERPROPERTIESONLY = 0x1
GPS_READWRITE = 0x2
GPS_TEMPORARY = 0x4
GPS_FASTPROPERTIESONLY = 0x8
GPS_OPENSLOWITEM = 0x10
GPS_DELAYCREATION = 0x20
GPS_BESTEFFORT = 0x40
GPS_MASK_VALID = 0x7f

## Bind context parameter names, used with IBindCtx::RegisterObjectParam
STR_AVOID_DRIVE_RESTRICTION_POLICY = "Avoid Drive Restriction Policy"
STR_BIND_DELEGATE_CREATE_OBJECT = "Delegate Object Creation"
STR_BIND_FOLDERS_READ_ONLY = "Folders As Read Only"
STR_BIND_FOLDER_ENUM_MODE = "Folder Enum Mode"
STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE = "Force Folder Shortcut Resolve"
STR_DONT_PARSE_RELATIVE = "Don't Parse Relative"
STR_DONT_RESOLVE_LINK = "Don't Resolve Link"
## STR_ENUM_ITEMS_FLAGS
STR_FILE_SYS_BIND_DATA = "File System Bind Data"
STR_GET_ASYNC_HANDLER = "GetAsyncHandler"
STR_GPS_BESTEFFORT = "GPS_BESTEFFORT"
STR_GPS_DELAYCREATION = "GPS_DELAYCREATION"
STR_GPS_FASTPROPERTIESONLY = "GPS_FASTPROPERTIESONLY"
STR_GPS_HANDLERPROPERTIESONLY = "GPS_HANDLERPROPERTIESONLY"
STR_GPS_NO_OPLOCK = "GPS_NO_OPLOCK"
STR_GPS_OPENSLOWITEM = "GPS_OPENSLOWITEM"
STR_IFILTER_FORCE_TEXT_FILTER_FALLBACK = "Always bind persistent handlers"
STR_IFILTER_LOAD_DEFINED_FILTER = "Only bind registered persistent handlers"
STR_INTERNAL_NAVIGATE = "Internal Navigation"
STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE = "Validate URL"
STR_ITEM_CACHE_CONTEXT = "ItemCacheContext"
STR_NO_VALIDATE_FILENAME_CHARS = "NoValidateFilenameChars"
STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS = "Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING"
STR_PARSE_AND_CREATE_ITEM = "ParseAndCreateItem"
STR_PARSE_DONT_REQUIRE_VALIDATED_URLS = "Do not require validated URLs"
STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL = "ExplicitAssociationSuccessful"
STR_PARSE_PARTIAL_IDLIST  = "ParseOriginalItem"
STR_PARSE_PREFER_FOLDER_BROWSING = "Parse Prefer Folder Browsing"
STR_PARSE_PREFER_WEB_BROWSING = "Do not bind to Internet shell folder handlers"
STR_PARSE_PROPERTYSTORE = "DelegateNamedProperties"
STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS = "Parse Shell Protocol To File Objects"
STR_PARSE_SHOW_NET_DIAGNOSTICS_UI = "Show network diagnostics UI"
STR_PARSE_SKIP_NET_CACHE = "Skip Net Resource Cache"
STR_PARSE_TRANSLATE_ALIASES = "Parse Translate Aliases"
STR_PARSE_WITH_EXPLICIT_ASSOCAPP = "ExplicitAssociationApp"
STR_PARSE_WITH_EXPLICIT_PROGID = "ExplicitProgid"
STR_PARSE_WITH_PROPERTIES = "ParseWithProperties"
## STR_PROPERTYBAG_PARAM
STR_SKIP_BINDING_CLSID = "Skip Binding CLSID"
STR_TRACK_CLSID = "Track the CLSID"

## KF_REDIRECTION_CAPABILITIES enum
KF_REDIRECTION_CAPABILITIES_ALLOW_ALL               = 0x000000FF
KF_REDIRECTION_CAPABILITIES_REDIRECTABLE            = 0x00000001
KF_REDIRECTION_CAPABILITIES_DENY_ALL                = 0x000FFF00
KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED  = 0x00000100
KF_REDIRECTION_CAPABILITIES_DENY_POLICY             = 0x00000200
KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS        = 0x00000400

## KF_REDIRECT_FLAGS enum
KF_REDIRECT_USER_EXCLUSIVE      = 0x00000001
KF_REDIRECT_COPY_SOURCE_DACL    = 0x00000002
KF_REDIRECT_OWNER_USER          = 0x00000004
KF_REDIRECT_SET_OWNER_EXPLICIT  = 0x00000008
KF_REDIRECT_CHECK_ONLY          = 0x00000010
KF_REDIRECT_WITH_UI             = 0x00000020
KF_REDIRECT_UNPIN               = 0x00000040
KF_REDIRECT_PIN                 = 0x00000080
KF_REDIRECT_COPY_CONTENTS       = 0x00000200
KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x00000400
KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x00000800

## KF_CATEGORY enum
KF_CATEGORY_VIRTUAL     = 0x00000001
KF_CATEGORY_FIXED       = 0x00000002
KF_CATEGORY_COMMON      = 0x00000003
KF_CATEGORY_PERUSER     = 0x00000004

## FFFP_MODE enum
FFFP_EXACTMATCH = 0
FFFP_NEARESTPARENTMATCH = 1

KF_FLAG_CREATE = 0x00008000
KF_FLAG_DONT_VERIFY = 0x00004000
KF_FLAG_DONT_UNEXPAND = 0x00002000
KF_FLAG_NO_ALIAS = 0x00001000
KF_FLAG_INIT = 0x00000800
KF_FLAG_DEFAULT_PATH = 0x00000400
KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200
KF_FLAG_SIMPLE_IDLIST = 0x00000100

## APPDOCLISTTYPE, used with IApplicationDocumentLists.GetList
ADLT_RECENT = 0
ADLT_FREQUENT = 1

## KNOWNDESTCATEGORY used with ICustomDestinationList.AppendKnownCategory
KDC_FREQUENT = 1
KDC_RECENT = 2

## LIBRARYFOLDERFILTER used with IShellLibrary.GetFolders
LFF_FORCEFILESYSTEM = 1
LFF_STORAGEITEMS = 2
LFF_ALLITEMS = 3

## DEFAULTSAVEFOLDERTYPE used with IShellLibrary.Get/SetDefaultSaveFolder
DSFT_DETECT = 1
DSFT_PRIVATE = 2
DSFT_PUBLIC = 3

## LIBRARYOPTIONFLAGS used with IShellLibrary.Get/SetOptions
LOF_DEFAULT = 0
LOF_PINNEDTONAVPANE = 1
LOF_MASK_ALL = 1

## LIBRARYSAVEFLAGS Used with PyIShellLibrary.Save
LSF_FAILIFTHERE = 0
LSF_OVERRIDEEXISTING = 1
LSF_MAKEUNIQUENAME = 2
